Auto-cascading clear to build engine for multiple location order level parts management

ABSTRACT

Embodiments of the present invention provide a method, system and computer program product for multiple-location auto-cascading clear to build inventory management. In an embodiment of the invention, an order processing method can be provided. The order processing method can include determining a required allocation of parts necessary to build an order, recursively soft allocating parts in different locations until enough parts have been soft allocated to satisfy the required allocation of parts necessary to build the order, and hard allocating the soft allocated parts. In one aspect of the embodiment, it can be determined that not enough parts remain amongst the different locations to satisfy the required allocation of parts necessary to build the order. In that circumstance, the soft allocated parts can be cleared for allocation by a different order. Alternatively, the order can be built short by hard allocating the soft allocated parts even though not enough parts are soft allocated to satisfy the required allocation of parts.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to supply chain management and moreparticularly to an inventory management system utilizing clear to buildinventory analysis.

2. Description of the Related Art

As the global economy provides a proliferation of options for businessesto expand into emerging markets, manufacturing success is increasinglydefined by how fast you act and how well you react to supply chainvolatility. Modern production facilities are increasingly becoming morecomplex as customers expect manufacturers to keep prices low whilereadily accommodating last-minute changes in quantity, productconfiguration or delivery date.

Effectively managing the timing, order policy, and supply and inventoryconsiderations involved in new product introductions or upgrades,greatly impact cycle times, potential business opportunities, and mostimportantly sales and profits. Typical operations manufacture multipleproducts in numerous discrete areas called stocking locations within asingle facility. Moreover, the parts needed to manufacture a specificproduct may be utilized and stocked in multiple discrete areasthroughout a facility due to their common usage across varioussub-assemblies and end products. Component parts may be stocked inwarehouses, at sub-assembly lines, in multiple final build lines or inany number of other internal plant locations.

One problem that arises in such complex facilities is whether all thecomponents necessary to build a specific product are available tosupport the build. After part coverage is determined, a secondaryobstacle is determining what stock, from which inventory stocking areasneeds to be utilized to complete the build in question. A common methodin the art by which inventory is analyzed to determine whether an ordercan be built is often called “Clear to Build inventory analysis” (CTB).

Essentially, CTB is a process by which the component Bill of Material(BOM) needed to manufacture the product in question is compared againstavailable inventory stocked in a facility. Although, the parts necessaryto build a product can be stocked in multiple stocking locations,conventional CTB analysis can only operate upon one discrete inventorystocking location at a time. A discrete inventory stocking location caneither be defined globally or locally.

When global CTB is performed an operation can quickly ascertain if itpossesses the total number of parts necessary to support an order in awhole facility. However, performing global CTB does not efficientlyallow determining which parts from which stocking location need to beaggregated to support the build in question. For instance, if Order Xneeded 2 quantities of Part A and 1 quantity of Part B, global CTB wouldbe able to determine that there is an aggregate total of 17 Part A and 8Part B in the whole facility without taking into account stockinglocations. Thus, performing global CTB does not efficiently allowdetermination of which parts from which area need to be aggregated tosupport Order X in question. Moreover, as manual actions are taken todecide which parts from the various stocking locations need to be movedand allocated to a specific build, subsequent CTB analysis may bedriving other manual activities that will be competing for the sameparts.

Local CTB analysis allows determination of the ability to support aspecific build with parts from one stocking location within a facility.However, when part shortages are determined in one specific area,additional manual actions are required to search other stockinglocations for parts coverage. This could include additional separate CTBanalyses in those other areas. Once again, these local CTB analysesoften result in numerous manual activities to identify, isolate and moveparts from one area to facilitate a build. For instance, if Order Yneeded 2 quantities of Part A and 2 quantities of Part B, CTB inventoryanalysis would only be able to determine that there is zero quantitiesof Part A, and 4 quantities of Part B in stocking location S, 2quantities of the 4 which satisfy the required amount for Part B.However, since Part A is not found in stocking location S, Order Ycannot be released. In order to find available quantities of Part Aadditional manual actions can be required to search other stockinglocations for parts coverage.

Conventional CTB analysis lacks an efficient reservation mechanism.Merely searching each location at a time can cause the possibility thatanother order may ‘snatch’ a part that was previously contemplated byanother order looking in another location. Also, with conventional CTBprocesses there is a chance that inventory may be ‘locked up’ inmultiple orders that can only be partially completed instead of beingable to fulfill the highest priority orders that can actually becompleted. Thus, there are manual activities associated with typical CTBprocesses and the inherent difficulties in parts logistical management,especially in periods of extreme volatility and stress in a supplychain.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art inrespect to order production management and provide a novel andnon-obvious method, system and computer program product formultiple-location auto-cascading clear to build inventory management. Inan embodiment of the invention, an order processing method can beprovided. The order processing method can include determining a requiredallocation of parts necessary to build an order, recursively softallocating parts in different locations until enough parts have beensoft allocated to satisfy the required allocation of parts necessary tobuild the order, and hard allocating the soft allocated parts. In oneaspect of the embodiment, it can be determined that not enough partsremain amongst the different locations to satisfy the requiredallocation of parts necessary to build the order. In that circumstance,the soft allocated parts can be cleared for allocation b to a differentorder. Alternatively, the order can be built short by hard allocatingthe soft allocated parts even though not enough parts are soft allocatedto satisfy the required allocation of parts.

In another embodiment of the invention, an inventory management dataprocessing system can be provided. The system can include a data storeof parts and stocking locations storing the parts and a multiplelocation auto-cascading clear to build engine coupled to the data store.The engine can include program code enabled to determine a requiredallocation of parts necessary to build an order, to recursively softallocate parts in different locations specified by the data store untilenough parts have been soft allocated to satisfy the required allocationof parts necessary to build the order, and to hard allocate the softallocated parts.

Additional aspects of the invention will be set forth in part in thedescription which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention andtogether with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred,it being understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is schematic illustration of a CTB inventory management systemutilizing a multiple-location auto-cascading CTB engine;

FIG. 2 is a flowchart illustrating a process for multi-locationauto-cascading CTB analysis;

FIG. 3A is a block diagram illustrating inventory management rulesincorporated into the multiple-location auto-cascading CTB analysis ofFIG. 2;

FIG. 3B is a block diagram illustrating inventory location priorityrules incorporated into the multiple-location auto-cascading CTBanalysis of FIG. 2;

FIG. 3C is a block diagram illustrating location movement and offsettimes incorporated into the multiple-location auto-cascading CTBanalysis of FIG. 2;

FIG. 4 is a flowchart illustrating a recursive process utilized by themulti-location auto-cascading CTB engine of FIG. 1; and,

FIG. 5 is a flowchart illustrating a process for aggregate kitting andinventory movements handled in the process of FIG. 2.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide a method, system andcomputer program product for a multiple-location auto-cascading clear tobuild inventory management process. In one embodiment of the invention,the parts necessary to build a product is recursively located by aMultiple Location Auto-Cascading CTB engine incorporating inventorylocation priority information. The engine identifies specific stockinglocations based on a prioritized list of possible locations for a partnumber and analyzes each stocking location to determine whether there ismatching inventory in that current location. When the required amountfor a part is found in a specific stocking location, the engine canpermanently reserve those parts and move those parts to a properlocation for assembly.

When the required amount can be partially satisfied at that locationthen the engine can temporarily reserve those parts and analyze the nextstocking location listed by priority until all the parts necessary tofulfill a specific order has been satisfied. Subsequently, once allrequired parts have been located, the engine can be enabled topermanently reserve each part found in multiple locations. The requiredparts can be ready for inventory movement or kitting initiation andeventually built and shipped to a customer. By automating the manualprocesses required by conventional CTB analysis, the multiple-locationauto-cascading CTB engine can allow inventory analysis recursively withnew location priority rules and materials logistics management performedacross a facility.

In further illustration, FIG. 1 is a schematic illustration of a CTBinventory management system utilizing a multiple-location auto-cascadingCTB engine. A computer 100 with an operating system 110 can be coupledto a database 120 of inventory management data including inventory partnumbers and stocking locations. An inventory management system 130 canbe coupled to a multiple-location auto-cascading CTB engine 140. Theinventory management rules 150 can be coupled to the inventorymanagement system 130 and the multiple-location auto-cascading CTBengine 140. The inventory management rules 150 can enable the inventorymanagement system 130 or the multiple-location auto-cascading CTB engine140 to incorporate a priority list of stocking locations based on aspecific part number or product.

In further illustration, FIG. 2 is a flowchart of a multiple-locationCTB analysis process. In block 200, the details of a customer orderincluding a list of all parts required for the order, part numbers, anda list of locations sorted by highest priority can be retrieved. Themulti-location auto-cascading CTB engine 210 can be invoked using arecursive soft allocation method to temporarily reserve available partsfor an order in multiple stocking locations. In block 220 kitting andinventory movement can be initiated and in block 230 the order can bereleased. Finally, in block 240, the allocations and inventory can beupdated and in block 250 the order can be assembled and eventuallyshipped to the customer in block 260.

FIG. 3A is a block diagram illustrating inventory management rulesincorporated into the multiple-location auto-cascading CTB analysis ofFIG. 2. Block 310 of FIG. 3A contains the typical elements of alogistics system in enterprise resource planning for inventorymanagement with the exception that the inventory order allocation methodis done recursively in this analysis. Block 320 in turn shows a set ofinventory location priority rules. The inventory location priority rules320 can be based on each product. Each product can be assigned to itsown primary location where the necessary parts to build that product arelocated or pulled for assembly execution.

In further illustration, FIG. 3B is a block diagram illustratinginventory location priority rules incorporated into themultiple-location auto-cascading CTB analysis of FIG. 2. For instance,when an order is selected for CTB analysis and the detailed list ofparts and quantities required to build the order are exploded by the ERPsystem, the inventory location priority rules 320 determine therecursive path to be taken for that order based upon the specificproduct. When an order for ProductA is retrieved, the detailed parts ofthe order are exploded by the ERP system, then the multi-locationauto-cascading CTB engine can be initiated to recursively check eachstocking location, starting with the primary stocking location,PrimLocA.

By reference to the inventory location priority rules 320, if all theparts necessary to build ProductA cannot be located in PrimLocA then themulti-location auto-cascading CTB engine will soft-allocate each partfound in that location and in each subsequent location that isrecursively searched until all the demand is satisfied for the order tobe built. If all required parts are not found once all locations arequeried, then a decision can be made to release the order for build withshort-parts depending on user preference or remove the soft allocationsand return the order for ProductA back into the production queue.Finally, FIG. 3C is a block diagram illustrating the location movementand offset times incorporated into the inventor management rules 300 ofFIG. 3A. Specifically, the location movement and offsets 330 provide foran offset time required for moving parts from one stocking location toanother stocking location.

FIG. 4 is a flowchart illustrating the recursive process utilized by themulti-location auto-cascading CTB engine of FIG. 2, block 210. Beginningin block 400, for a specific order to be analyzed, the engine is invokedand parameters such as an exploded list of part numbers and requiredquantities of each are obtained from normal ERP functions. Additionally,parts stocking locations, on-hand inventory and Inventory ManagementRules 300 of FIG. 3A are passed through the function. In block 410, CTBanalysis for the order in question is executed against the inventory onhand in the highest priority location, as defined by InventoryManagement Rules 300.

For each part number, the quantity required is compared against thequantity on hand in the highest priority location to determine coveragefor the order. In block 420, if parts are available for coverage againstthe required amount, the logistics system incorporating the InventoryManagement Rules, 300, will soft allocate the available inventory foreach specific part in the current stocking location so that no otherorder will compete with it.

In block 430, once the available amount of parts are soft allocated, theoriginal required amounts can be decremented to reflected updatedamounts needed to be searched. Next in decision block 440, if it isdetermined that there still exists amounts that need to be searched andif, in decision block 460 it is determined that there are additionalstocking locations to search, then the engine can be recursively invokedto begin a new function call to find the next highest priority locationfor the remaining quantity needed. If in decision block 460, it isdetermined that there are no other stocking locations to search per theInventory Management Rules 300, then decision block 470 can beimplemented to determine whether the order shall be built short.

If, in block 440 it is determined that no additional searches arerequired as all part requirements have been found across the previouslysearched locations, then in block 450 all the previous soft allocationscan be transformed to hard reservations, the recursive function is endedand block 220 of FIG. 2 can be initiated. Similarly, if in block 470 itis determined that a build short is required, then in block 450 allprevious soft allocations can be transformed to hard reservations andthe recursive function is ended and block 220 of FIG. 2 can beinitiated. If a build short is not required, then in block 480 all softallocations are removed from Inventory Management Rules 300 which willfree up inventory to be used on other competing orders and an error canbe returned and an error message notification can be posted indicatingthat the order cannot be built due to parts shortages. Consequently, theorder can be put back into the order queue for future processing.Finally, the process can end in block 490.

FIG. 5 is a flowchart illustrating a process for aggregate kitting andinventory movements handled in the process of FIG. 2, block 220. Indecision block 500, if the stocking location being analyzed is not akitting location then block 505 is implemented by initiating anautomatic inventory pull to the proper stocking location. In block 510,there can be a time delay based on FIG. 3C that determines the highestoffset for a given part in an order and adjusts the lead time to allowenough time to pull parts from one stocking location to an assemblyarea.

The maximum offset time can be allotted for the order. For examplereferring back to FIG. 3, block 330, if it takes 3 hours offset for partB to be pulled from PrimLocB to PrimLocA, and it takes 2 hours offset topull parts from PrimLoca A to AssemLoc2, then the delay in block 510will take into account the maximum time which in this example is 3 hoursand ensure that all the parts are pulled within that period of time.Next in block 520 the order can be released to manufacturingsuccessfully. Finally in block 590 manufacturing can begin build of theorder.

In decision block 500, if the stocking location being analyzed is akitting location then block 530 is implemented by creating a new childkitting unit of work that can represent the components that make up akit. It is possible for a product to require multiple kits and thus itis possible to merge multiple child kitting units of work into a mainparent unit of work which can be defined as the overall product that isordered to be built. In block 540 a list of required parts for each kitunit of work is logically created to determine which parts are neededfor each child kitting unit of work.

Once the parts lists for each child kitting unit of work are logicallydetermined then in block 550 the physical kit build for the child workunits can be initiated. Next in block 560, the reserved parts arephysically pulled from an inventory stocking location and consumed intothe current child kitting units of work. In block 570, the reservedparts are logically put into each child kitting unit of work byfulfilling the initial required parts list in block 540. Finally, inblock 580, every child kit unit of work is aggregated to merge into aparent product. In block 590 the process ends with building of order.

Embodiments of the invention can take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment containingboth hardware and software elements. In a preferred embodiment, theinvention is implemented in software, which includes but is not limitedto firmware, resident software, microcode, and the like. Furthermore,the invention can take the form of a computer program product accessiblefrom a computer-usable or computer-readable medium providing programcode for use by or in connection with a computer or any instructionexecution system.

For the purposes of this description, a computer-usable or computerreadable medium can be any apparatus that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk and an optical disk. Current examples of opticaldisks include compact disk-read only memory (CD-ROM), compactdisk-read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution. Input/output or I/Odevices (including but not limited to keyboards, displays, pointingdevices, etc.) can be coupled to the system either directly or throughintervening I/O controllers. Network adapters may also be coupled to thesystem to enable the data processing system to become coupled to otherdata processing systems or remote printers or storage devices throughintervening private or public networks. Modems, cable modem and Ethernetcards are just a few of the currently available types of networkadapters.

1. An order processing method comprising: determining a requiredallocation of parts necessary to build an order; recursively softallocating parts in different locations until enough parts have beensoft allocated to satisfy the required allocation of parts necessary tobuild the order; and, hard allocating the soft allocated parts.
 2. Themethod of claim 1, wherein prioritizing each of the stocking locations,comprises: retrieving a part number for a part required to fulfill theorder and a priority location list corresponding to the part number;and, associating a priority with each of the stocking locations fromwhich different parts are to be allocated to satisfy an order.
 3. Themethod of claim 1, wherein recursively soft allocating parts indifferent locations until enough parts have been soft allocated tosatisfy the required allocation of parts necessary to build the order,comprises: retrieving a list of stocking locations for the parts;prioritizing each of the stocking locations; locating a highest priorityone of the stocking locations having allocable ones of the parts andsoft allocating the allocable parts; removing the highest priority oneof the stocking locations from the list and reducing the requiredallocation of parts by a number of soft allocated allocable parts in thehighest priority one of the stocking locations; and, repeating each ofthe retrieving, prioritizing, locating, removing and reducing for thelist and required allocations of parts until the required allocation ofparts is satisfied by the number of soft allocated allocable parts. 4.The method of claim 1, further comprising: determining that not enoughparts remain amongst the different locations to satisfy the requiredallocation of parts necessary to build the order; and, clearing the softallocated parts for allocation by a different order.
 5. The method ofclaim 1, further comprising: determining that not enough parts remainamongst the different locations to satisfy the required allocation ofparts necessary to build the order; and, building short the order byhard allocating the soft allocated parts even though not enough partsare soft allocated to satisfy the required allocation of parts.
 6. Themethod of claim 1, further comprising kitting the parts when found inmultiple stocking locations.
 7. The method of claim 6, wherein kittingthe parts when found in multiple stocking locations, comprises: creatinga new kitting child unit of work tied to a parent unit; and,consolidating the child unit of work with the parent upon arrival of thechild unit of work.
 8. An inventory management data processing systemcomprising: a data store of parts and stocking locations storing theparts; and, a multiple location auto-cascading clear to build enginecoupled to the data store, the engine comprising program code enabled todetermine a required allocation of parts necessary to build an order, torecursively soft allocate parts in different locations specified by thedata store until enough parts have been soft allocated to satisfy therequired allocation of parts necessary to build the order, and to hardallocate the soft allocated parts.
 9. A computer program productcomprising a computer usable medium embodying computer usable programcode for order processing, the computer program product comprising:computer usable program code for determining a required allocation ofparts necessary to build an order; computer usable program code forrecursively soft allocating parts in different locations until enoughparts have been soft allocated to satisfy the required allocation ofparts necessary to build the order; and, computer usable program codefor hard allocating the soft allocated parts.
 10. The computer programproduct of claim 9, wherein the computer usable program code forprioritizing each of the stocking locations, comprises: computer usableprogram code for retrieving a part number for a part required to fulfillthe order and a priority location list corresponding to the part number;and, associating a priority with each of the stocking locations fromwhich different ones of the part are to be allocated to satisfy anorder.
 11. The computer program product of claim 9, wherein the computerusable program code for recursively soft allocating parts in differentlocations until enough parts have been soft allocated to satisfy therequired allocation of parts necessary to build the order, comprises:computer usable program code for retrieving a list of stocking locationsfor the parts; computer usable program code for prioritizing each of thestocking locations; computer usable program code for locating a highestpriority one of the stocking locations having allocable ones of theparts and soft allocating the allocable parts; computer usable programcode for removing the highest priority one of the stocking locationsfrom the list and reducing the required allocation of parts by a numberof soft allocated allocable parts in the highest priority one of thestocking locations; and, computer usable program code for repeating eachof the retrieving, prioritizing, locating, removing and reducing for thelist and required allocations of parts until the required allocation ofparts is satisfied by the number of soft allocated allocable parts. 12.The computer program product of claim 9, further comprising: computerusable program code for determining that not enough parts remain amongstthe different locations to satisfy the required allocation of partsnecessary to build the order; and, computer usable program code forclearing the soft allocated parts for allocation by a different order.13. The computer program product of claim 9, further comprising:computer usable program code for determining that not enough partsremain amongst the different locations to satisfy the requiredallocation of parts necessary to build the order; and, computer usableprogram code for building short the order by hard allocating the softallocated parts even though not enough parts are soft allocated tosatisfy the required allocation of parts.
 14. The computer programproduct of claim 9, further comprising computer usable program code forkitting the parts when found in multiple stocking locations
 15. Thecomputer program product of claim 14, wherein the computer usableprogram code for kitting the parts when found in multiple stockinglocations, comprises: computer usable program code for creating a newkitting child unit of work tied to a parent unit; and, computer usableprogram code for consolidating the child unit of work with the parentupon arrival of the child unit of work.